package com.zb.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 工单信息表
 * </p>
 *
 * @author WEN
 * @since 2023-10-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="ZjWorkDetail对象", description="工单信息表")
public class ZjWorkDetail implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "工单表ID")
    private Long id;

    @ApiModelProperty(value = "商家表ID")
    private Long custAccId;

    @ApiModelProperty(value = "工单模块分类ID1")
    private Long oneTypeId;

    @ApiModelProperty(value = "工单模块分类ID2")
    private Long twoTypeId;

    @ApiModelProperty(value = "工单模块分类ID3")
    private Long threeTypeId;

    @ApiModelProperty(value = "工单模块方式ID1")
    private Long oneWayId;

    @ApiModelProperty(value = "工单模块方式ID2")
    private Long twoWayId;

    @ApiModelProperty(value = "工单模块方式ID3")
    private Long threeWayId;

    @ApiModelProperty(value = "工单内容")
    private String content;

    @ApiModelProperty(value = "未审核申请工单备件数")
    private Integer noReviewApplyWorkFeeNum;

    @ApiModelProperty(value = "未审核申请工单费用数")
    private Integer noReviewApplyWorkSpareNum;

    @ApiModelProperty(value = "是否有结单申请：0-否，1-是")
    @TableField("is_end_order_apply")
    private Boolean endOrderApply;

    @ApiModelProperty(value = "是否有取消工单申请：0-否，1-是")
    @TableField("is_cancel_order_apply")
    private Boolean cancelOrderApply;

    @ApiModelProperty(value = "是否有改派工单的申请：0-否，1-是")
    @TableField("is_change_network_apply")
    private Boolean changeNetworkApply;

    @ApiModelProperty(value = "工单派单给网点的人员ID")
    private Long dispatchEmpId;

    @ApiModelProperty(value = "工单派单给网点的时间")
    private Date dispatchTime;

    @ApiModelProperty(value = "是否预约时间：0-否，1-是")
    @TableField("is_reservation")
    private Boolean reservation;

    @ApiModelProperty(value = "预约日期")
    private Date reservationDate;

    @ApiModelProperty(value = "预约开始时间")
    private Date reservationStartTime;

    @ApiModelProperty(value = "预约结束时间")
    private Date reservationEndTime;

    @ApiModelProperty(value = "结单核销码")
    private String statementVerifCode;

    @ApiModelProperty(value = "收取客户费用凭证")
    private String collectCustomerPriceVoucher;

    @ApiModelProperty(value = "核实派单时间")
    private Date verifiedVisitTime;
}
